package model

// DictType 字典类型模型
// @Description 字典类型信息，用于对字典进行分类管理
type DictType struct {
	Model
	// 字典类型名称
	Name string `json:"name" form:"name" gorm:"size:100;comment:字典类型名称" binding:"required" example:"用户类型"`
	// 字典类型编码，唯一标识
	Code string `json:"code" form:"code" gorm:"size:100;comment:字典类型编码" binding:"required" example:"user_type"`
	// 字典类型状态（0正常 1停用）
	Status int8 `json:"status" form:"status" gorm:"default:0;comment:状态(0正常 1停用)" example:"0"`
	// 字典类型描述
	Remark string `json:"remark" form:"remark" gorm:"size:500;comment:备注" example:"用户类型字典"`
}

func (DictType) TableName() string {
	return "sys_dict_type"
}

// DictData 字典数据模型
// @Description 字典数据信息，存储具体的字典项
type DictData struct {
	Model
	// 字典类型编码
	DictTypeCode string `json:"dictTypeCode" form:"dictTypeCode" gorm:"size:100;comment:字典类型编码" binding:"required" example:"user_type"`
	// 字典标签
	Label string `json:"label" form:"label" gorm:"size:100;comment:字典标签" binding:"required" example:"管理员"`
	// 字典键值
	Value string `json:"value" form:"value" gorm:"size:100;comment:字典键值" binding:"required" example:"admin"`
	// 排序号
	Sort int32 `json:"sort" form:"sort" gorm:"default:0;comment:排序号" example:"1"`
	// 字典项状态（0正常 1停用）
	Status int8 `json:"status" form:"status" gorm:"default:0;comment:状态(0正常 1停用)" example:"0"`
	// CSS样式
	CssClass string `json:"cssClass" form:"cssClass" gorm:"size:100;comment:CSS样式" example:"primary"`
	// 是否默认值（Y是 N否）
	IsDefault string `json:"isDefault" form:"isDefault" gorm:"size:1;default:N;comment:是否默认(Y是 N否)" example:"N"`
	// 字典项描述
	Remark string `json:"remark" form:"remark" gorm:"size:500;comment:备注" example:"系统管理员"`
}

func (DictData) TableName() string {
	return "sys_dict_data"
}
